﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ICDA.Web.Helper
{
    public class Encryption
    {
        /// <summary>
        /// Base64s the encode.
        /// </summary>
        /// <param name="sData">The s data.</param>
        /// <returns></returns>
        public string Encode(string sData)
        {
            try
            {
                byte[] encData_byte = new byte[sData.Length];
                encData_byte = System.Text.Encoding.UTF8.GetBytes(sData);
                string encodedData = Convert.ToBase64String(encData_byte);
                return encodedData;

            }
            catch (Exception ex)
            {
                throw new Exception("Error in Encoding" + ex.Message);
            }
        }

        /// <summary>
        /// Base64s the decode.
        /// </summary>
        /// <param name="sData">The s data.</param>
        /// <returns></returns>
        public string Decode(string sData)
        {
            try
            {

                System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
                System.Text.Decoder utf8Decode = encoder.GetDecoder();
                byte[] todecode_byte = Convert.FromBase64String(sData);
                int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
                char[] decoded_char = new char[charCount];
                utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
                string result = new String(decoded_char);
                return result;
            }
            catch (Exception ex)
            {
                throw new Exception("Error in Decoding" + ex.Message);
            }

        }
        /// <summary>
        /// Sends the notes mail.
        /// </summary>
        /// <param name="mailto">The mailto.</param>
        /// <param name="text">The text.</param>
        /// <param name="mailSubject">The mail subject.</param>
        public void SendMail(string mailto, string text, string mailSubject)
        {
            System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
            message.To.Add(mailto);
            message.Subject = mailSubject;
            message.From = new System.Net.Mail.MailAddress("admin.apps@csc.com");
            message.Body = text;
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("amer-mta02.csc.com");
            smtp.Send(message);

        }
    }
}